#pragma once
#include <allegro.h>


/**
 * Klasa zajmujaca sie obsluga wejscia.
 * Ta klasa jest singletonem.
 */
class Input
{
public:
    
    /**
     * Zwraca instancje singletona.
     */
    static Input* GetInstance();

    /**
     * Inicjalizuje system wejscia.
     */
    void Initialize();

    /**
     * Zamyka system wejscia.
     */
    void Shutdown();


private:

    /**
     * Konstruktor domyslny.
     * Pusty na potrzeby singletona.
     */
    Input() { }

    /**
     * Konstruktor kopiujacy.
     * Niezaimplementowany na potrzeby singletona.
     */
    Input(const Input &);

    /**
     * Operator przypisania.
     * Niezaimplementowany na potrzeby singletona.
     */
    void operator=(const Input &);

};
